package com.tedu.day02.oop.test;
/**
 * 匿名内部类：需要了解抽象类与接口定义使用-----拓展：表达式【JavaAPI】
 *  定义：抽象类/接口  引用：=new  抽象类/接口（）{};
 *                  特点：对象只需要创建一次时候

 */

public class 匿名内部类 {
    public static void main(String[] args) {
        //创建接口     实现类    实现   USB接口 ---多态性（造型）
//        USB usb=new Jack();
//        usb.read();usb.write();
        //针对：子实现类有多个都需要实现
        //针对：实现一次，创建一次接口对象---匿名内部类创建：接口、抽象类
        USB usb=new USB() {
            public void write() {
                System.out.println("写");
            }

            public void read() {
                System.out.println("读");
            }
        };
        usb.write();usb.read();
        //作业2：抽象类使用匿名内部类方法创建出来，并且输出跑、睡方法
        Animal  an=new Animal() {

            public void run() {
                System.out.println("跑");
            }
            public void sleep() {
                System.out.println("睡");
            }
        };
        an.run();an.sleep();
    }
}


//创建接口：   USB    功能   读    写
interface USB{
    public abstract void write();
    public abstract void read();
}
//以往创建接口对象：先创建后实现
class Jack implements USB{

    public void write() {
        System.out.println("写");
    }

    public void read() {
        System.out.println("读");
    }
}
//创建抽象类    Animal  功能 ：跑   睡
abstract class Animal{
    public abstract void run();
    public abstract void sleep();
}
